package com.juzi.canshuchuandi.yinyongleixing;

/**
 1、基本类型和引用类型的参数在传递的时候有什么不同？
     都是值传递。
     基本类型的参数传输存储的数据值。
     引用类型的参数传输存储的地址值。
 */
public class MethodDemo1 {
    public static void main(String[] args) {
        //目标：理解引用类型的参数传递机制：值传递，区分其不同点
        int[] arrs/*<--实参*/ = {10, 20, 30};//创建数组对象，把地址赋给arrs由arrs变量指向数组对象
        change(arrs);//调用change方法，把地址传给change方法
        System.out.println(arrs[1]);//根据数组变量地址，找数组对象访问第二个位置，值已经变成222
    }

    public static void change(/*形参-->*/int[] arrs)/*把地址传给change的形参arrs，arrs里面也存的是该地址，指向的也是数组对象*/{
        System.out.println(arrs[1]);//根据形参变量里的地址找第二个位置的值为20
        arrs[1] = 222;//又根据形参变量里的地址找第二个位置的值为20，然后把对象里的值改成222
        System.out.println(arrs[1]);//再去访问数组中第二个位置的对象是222
    }
}

